# -*- coding: utf-8 -*-
"""
Created on Tue Aug  8 16:32:51 2023

@author: skunk69
"""

import json

chinese_name = u'中学生应激源量表'
english_name = 'Stressors Scale for Middle School Students'
abbreviation = 'SSMSS'
category = u'应激及相关行为量表'

outline = u"""应激源是指引起应激反应的环境因素，人们在日常生活中经历的各种生活事件、突然的创伤性体验、慢性紧张（工作压力大、家庭关系紧张）等都会成为应激源，使个体产生心理生理上的应激反映。中学生作为一个正在成长的群体，心理波动十分显著，对各种应激的承受能力还不够强，还处于发展之中，在面对各种紧张性生活事件时，很容易出现各种不良的应激反应，对身心健康造成不良影响。因此，有必要了解中学生日常生活中的应激源，进而采取有效的对策来维护中学生的身心健康。
中学生心理应激源量表，简称中学生应激源量表（Stressors Scale for Middle School Students，SSMSS），是由郑全全、陈树林、郑胜圣于1999年编制而成。"""

instruction = u"""下面是每个人都有可能遇到的一些好的或不好的日常生活事件。这些事件可能对个人有影响（如出现紧张、有压力、兴奋或苦恼等），而且这些事件对每个人的影响程度也可能不一样。请您根据自己的实际情况，回忆近一年内以及此时此刻有无下列的事件发生，发生的事件对自己的影响有多大。"""

with open('SSMSS.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
for key,line in enumerate(lines):
    _,value = line.strip().split('）',maxsplit=1)
    items[key+1] = value

reverse_items = []
scales = [u'学习压力',u'教师压力',u'家庭环境压力',u'父母教养方式压力',\
          u'同学朋友压力',u'社会文化压力',u'自我身心压力']
scales_items = [
    [1,7,13,27,31],# 学习压力
    [2,8,14,18,23,28,32],# 教师压力
    [3,9,33,36,38],# 家庭环境压力
    [15,19,24,29],# 父母教养方式压力
    [4,10,16,20,25,34,37],# 同学朋友压力
    [5,11,17,21,26,39],# 社会文化压力
    [6,12,22,30,35],# 自我身心压力
    ]

check = []
for l in scales_items:
    check = check+l

print(len(check))
check_set = {i for i in sorted(check)}-{i for i in range(1,40)}
print(check_set)

factors = []
factors_scales = []
rating = [u'没有',u'轻度',u'中度',u'重度',u'极重度']
score_rules = list(range(0,5))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""中学生应激源量表属于自评量表，要求被试者根据自己的实际情况，回忆近一年内以及此时此刻有无量表描述的事件发生，评估发生的事件对自己的影响程度。"""

reliability = u"""被试样本来自浙江省多个城市多所中学，检验了同质性信度、分半信度和重测信度，结果比较理想。"""
validity = u"""检验了结构效度、内容效度和效标效度：七个因子在结构上反映了中学生应激的主要来源，具有可解释性；从量表的编制到最后的结果都表明该量表具有较好的内容效度；中学生应激源量表的总分与焦虑自评量表SAS、抑郁自评量表SDS的得分呈明显的正相关，相关系数分别是0.39，0.4，P<0.01。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""将各维度题目相加得到各维度分，所有题目得分之和即为量表总分。"""

applications = u"""建立了初步的浙江省常模，包括了性别和年级常模。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)